/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * supervision_rh_prenomina_print.java
 *
 * Created on 13/03/2013, 03:20:18 PM
 */

package sie_invdis;


import java.awt.print.PrinterException;
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;

import java.text.ParseException;
import java.text.*;
import javax.swing.table.DefaultTableCellRenderer;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;


/**
 *
 * @author Administrador
 */
public class supervision_rh_prenomina_print extends javax.swing.JFrame implements Printable{


        private javax.swing.table.DefaultTableModel jtable_modelo_reportef;
        private javax.swing.table.DefaultTableModel jtable_modelo_reportefn;
        private javax.swing.table.DefaultTableModel jtable_modelo_patrones_areas;


    String patrona="",periodoa="";

    bd_conexion x = new bd_conexion();
    ResultSet rs = null;

    DefaultTableCellRenderer alinearCentro, alinearderecha, alinearIzquierda;

    int tipof=0,tiponomina=0,comboa=0;

    private SimpleDateFormat formateador = new SimpleDateFormat("dd-MM-yyyy");
    private SimpleDateFormat formateadoresta = new SimpleDateFormat("yyyy-MM-dd");

    /** Creates new form supervision_rh_prenomina_print */
    public supervision_rh_prenomina_print() {
        initComponents();
    }
    public supervision_rh_prenomina_print(String periodo,String patron,int tn,String pdescribe,String patrondes,String nrp,String rfc,String dir) {
        if (tn==1)
        {
                if((patron.equals("1"))||(patron.equals("9")))
                this.iniciar_modelo_reportef1();
                if((patron.equals("2"))||(patron.equals("4"))||(patron.equals("5"))||(patron.equals("6"))||(patron.equals("8"))||(patron.equals("7")))
                this.iniciar_modelo_reportef2();
                if(patron.equals("3"))
                this.iniciar_modelo_reportef3();
        }
        if (tn==22)
        {
             this.iniciar_modelo_reportenof1();
        
        }
        if (tn==333)
        {
             this.iniciar_modelo_reportef2();

        }
        if (tn==4)
        {
             this.iniciar_modelo_reportenof1();

        }
        if (tn==5)
        {
             this.iniciar_modelo_reportef2();

        }
        this.iniciar_modelo_reportef2();
        this.iniciar_modelo_reportenof1();
        this.iniciar_modelo_area();
        initComponents();
        if (tn==1)
        {
                if((patron.equals("1"))||(patron.equals("9")))
                    {
                        this.carga_datos_empleado_x_patrondetalle1(36, patron, periodo);
                        this.carga_datos_empleado_x_patron_movdet1(6, patron, periodo);
                    }
                    if((patron.equals("2"))||(patron.equals("4"))||(patron.equals("5"))||(patron.equals("6"))||(patron.equals("7"))||(patron.equals("8")))
                        {
                            this.carga_datos_empleado_x_patrondetalle2(38, patron, periodo,"0");
                            this.carga_datos_empleado_x_patron_movdet2(6, patron, periodo);
                        }
                    if(patron.equals("3"))
                        {
                            this.carga_datos_empleado_x_patrondetalle3(13, patron, periodo);
                            this.carga_datos_empleado_x_patron_movdet3(6, patron, periodo);
                        }
                        jt_detalleprenomina1.getTableHeader().setPreferredSize(new Dimension(jt_detalleprenomina1.getTableHeader().getWidth(),65));
            
                        jt_detalleprenomina1.getColumnModel().getColumn(0).setPreferredWidth(80);//Codigo
                        jt_detalleprenomina1.getColumnModel().getColumn(1).setPreferredWidth(60);//Descripcion
                        jt_detalleprenomina1.getColumnModel().getColumn(2).setPreferredWidth(15);//control almacen
                        jt_detalleprenomina1.getColumnModel().getColumn(3).setPreferredWidth(50);//Item
                        jt_detalleprenomina1.getColumnModel().getColumn(4).setPreferredWidth(20);//unidad E.
                        jt_detalleprenomina1.getColumnModel().getColumn(5).setPreferredWidth(20);//factor
                        jt_detalleprenomina1.getColumnModel().getColumn(6).setPreferredWidth(20);//Unidad Salida
                        this.jlbl_patron.setText(patrondes);
                        //this.jlbl_rfc.setText("R.F.C:"+rfc);
                        //this.jlbl_nrp.setText("N.R.P. "+nrp);
                        //this.jlbl_patrondir.setText("Direc. "+dir);
                        this.jlbl_periodo.setText("PERIODO CORRESPONDIENTE AL:"+pdescribe);

                         this.centrar_datos();
                       

        }
        
         if (tn==33)//opcion para imprimir nomina f formato estandar
            {
                        this.carga_datos_empleado_x_patrondetalle2(38, patron, periodo,"0");
                        this.carga_datos_empleado_x_patron_movdet2(6, patron, periodo);
                        jt_detalleprenomina1.getTableHeader().setPreferredSize(new Dimension(jt_detalleprenomina1.getTableHeader().getWidth(),65));

                        jt_detalleprenomina1.getColumnModel().getColumn(0).setPreferredWidth(80);//Codigo
                        jt_detalleprenomina1.getColumnModel().getColumn(1).setPreferredWidth(60);//Descripcion
                        jt_detalleprenomina1.getColumnModel().getColumn(2).setPreferredWidth(15);//control almacen
                        jt_detalleprenomina1.getColumnModel().getColumn(3).setPreferredWidth(50);//Item
                        jt_detalleprenomina1.getColumnModel().getColumn(4).setPreferredWidth(20);//unidad E.
                        jt_detalleprenomina1.getColumnModel().getColumn(5).setPreferredWidth(20);//factor
                        jt_detalleprenomina1.getColumnModel().getColumn(6).setPreferredWidth(20);//Unidad Salida
                        this.jlbl_patron.setText(patrondes);
                        //this.jlbl_rfc.setText("R.F.C:"+rfc);
                        //this.jlbl_nrp.setText("N.R.P. "+nrp);
                        //this.jlbl_patrondir.setText("Direc. "+dir);
                        this.centrar_datos();
                        this.jlbl_periodo.setText("PERIODO CORRESPONDIENTE AL:"+pdescribe);
                         for(int i = 0 ;i < this.jtable_modelo_reportef.getRowCount(); i++)
                                {
                                    jt_detalleprenomina1.setRowHeight(i, 52);
                                }
            }
         if (tn==4)//opcion para imprimir formato estandar de no f
            {
            String pade="",padede="";

            try
            {
                rs = x.sieuno_executediversosv2("select * from x1_supervision_departamentos_catalogo(2,'"+patron+"','','') as (id smallint);",variables_global.getconexiongral());
               while (rs.next())
                    {
                      pade=rs.getString("id");
                    }
             }
            catch(Exception e)
            {
                System.out.println(e.getMessage());
            }
                        this.carga_datos_empleado_x_patrondetalle1nof(41, pade, periodo,"0");
                        this.carga_datos_empleado_x_patron_movdetnof1(6, pade, periodo);
                        this.centrar_datosnof();
                        this.jlbl_patron.setText(padede);
                        this.jlbl_rfc.setText("");
                        this.jlbl_nrp.setText("");
                        this.jlbl_periodo.setText("PERIODO CORRESPONDIENTE AL:"+pdescribe);

            }

                        this.carga_datos_empleado_x_patrondetalle1nof(41, patron, periodo,"0");
                        this.carga_datos_empleado_x_patron_movdetnof1(6, patron, periodo);
                       
                          this.jlbl_patron.setText(patrondes);
                        this.jlbl_rfc.setText("");
                        this.jlbl_nrp.setText("");
                        this.jlbl_periodo.setText("PERIODO CORRESPONDIENTE AL:"+pdescribe);


                        this.carga_datos_empleado_x_patrondetalle2(38, patron, periodo,"0");
                        this.carga_datos_empleado_x_patron_movdet2(6, patron, periodo);
                        jt_detalleprenomina1.getTableHeader().setPreferredSize(new Dimension(jt_detalleprenomina1.getTableHeader().getWidth(),65));

                        jt_detalleprenomina1.getColumnModel().getColumn(0).setPreferredWidth(120);//Codigo
                        jt_detalleprenomina1.getColumnModel().getColumn(1).setPreferredWidth(60);//Descripcion
                        jt_detalleprenomina1.getColumnModel().getColumn(2).setPreferredWidth(15);//control almacen
                        jt_detalleprenomina1.getColumnModel().getColumn(3).setPreferredWidth(50);//Item
                        jt_detalleprenomina1.getColumnModel().getColumn(4).setPreferredWidth(20);//unidad E.
                        jt_detalleprenomina1.getColumnModel().getColumn(5).setPreferredWidth(20);//factor
                        jt_detalleprenomina1.getColumnModel().getColumn(6).setPreferredWidth(20);//Unidad Salida

                        jt_detalleprenomina2.getColumnModel().getColumn(0).setPreferredWidth(120);//Codigo

                        this.jlbl_patron.setText(patrondes);
                        //this.jlbl_rfc.setText("R.F.C:"+rfc);
                        //this.jlbl_nrp.setText("N.R.P. "+nrp);
                        //this.jlbl_patrondir.setText("Direc. "+dir);
                        this.centrar_datos();
                        this.jlbl_periodo.setText("PERIODO CORRESPONDIENTE AL:"+pdescribe);
                         //for(int i = 0 ;i < this.jtable_modelo_reportef.getRowCount(); i++)
                         //       {
                         //           jt_detalleprenomina1.setRowHeight(i, 52);
                         //       }

        this.centrar_datosnof();
        this.loadcombo_patronclasif(patron);
        this.carga_datos_patron(patron);
        this.jcmbx_idpatronclasif1.addItem(patron+":"+patrondes);
        this.loadcombo_patron("0");
        this.setTitle(patrondes+" Periodo:"+pdescribe);
        periodoa=periodo;
        patrona=patron;
        tiponomina=tn;
        comboa=1;
        this.loadcombo_interlineado();
    }




    private void iniciar_modelo_reportef1()
    {
        jtable_modelo_reportef=new javax.swing.table.DefaultTableModel();//Creo el modelo
        jtable_modelo_reportef.addColumn("<html><b>Nombre</b></html>");//0
        jtable_modelo_reportef.addColumn("<html><b>Curp/Rfc</b></html>");//1
        jtable_modelo_reportef.addColumn("<html><b>Dura cion Jornada</b></html>");//2
        jtable_modelo_reportef.addColumn("<html><b>F.Ing.Trab.</b></html>");//3
        jtable_modelo_reportef.addColumn("<html><b>T. sala rio.</b></html>");//4
        jtable_modelo_reportef.addColumn("<html><b>Dias</b></html>");//5
        jtable_modelo_reportef.addColumn("<html><b>Sal. Base Cotizac</b></html>");//6
        jtable_modelo_reportef.addColumn("<html><b>Sal. Nom</b></html>");//6
        jtable_modelo_reportef.addColumn("<html><b>Sueldo</b></html>");//7
        jtable_modelo_reportef.addColumn("<html><b>Premio Puntu alidad</b></html>");//8
        jtable_modelo_reportef.addColumn("<html><b>Premio Asis tencia</b></html>");//9
        jtable_modelo_reportef.addColumn("<html><b>Vales Des pensa</b></html>");//10
        jtable_modelo_reportef.addColumn("<html><b>Prima Dom.</b></html>");//11
        jtable_modelo_reportef.addColumn("<html><b>Hrs. Extras</b></html>");//12
        jtable_modelo_reportef.addColumn("<html><b>Subtotal</b></html>");//13
        jtable_modelo_reportef.addColumn("<html><b>Sub sidio al Emp</b></html>");//14
        jtable_modelo_reportef.addColumn("<html><b>Total Percep cion</b></html>");//15
        jtable_modelo_reportef.addColumn("<html><b>ISR Sueldos</b></html>");//16
        jtable_modelo_reportef.addColumn("<html><b>IMSS</b></html>");//17
        jtable_modelo_reportef.addColumn("<html><b>Info navit</b></html>");//18
        jtable_modelo_reportef.addColumn("<html><b>Fon acot</b></html>");//19
        jtable_modelo_reportef.addColumn("<html><b>Total De duc.</b></html>");//20
        jtable_modelo_reportef.addColumn("<html><b>Neto a Pagar.</b></html>");//21
    }
    private void iniciar_modelo_reportef3()
    {
        jtable_modelo_reportef=new javax.swing.table.DefaultTableModel();//Creo el modelo
        jtable_modelo_reportef.addColumn("<html><b>Nombre</b></html>"); //0
        jtable_modelo_reportef.addColumn("<html><b>Curp/Rfc</b></html>");//1
        jtable_modelo_reportef.addColumn("<html><b>Dura cion Jornada</b></html>"); //2
        jtable_modelo_reportef.addColumn("<html><b>F.Ing.Trab.</b></html>"); //3
        jtable_modelo_reportef.addColumn("<html><b>T. sala rio.</b></html>"); //4
        jtable_modelo_reportef.addColumn("<html><b>Dias</b></html>"); //5
        jtable_modelo_reportef.addColumn("<html><b>Sal. Base Cotizac</b></html>");//6
        jtable_modelo_reportef.addColumn("<html><b>Sal. Nom</b></html>");//6
        jtable_modelo_reportef.addColumn("<html><b>Sueldo</b></html>");//7
        jtable_modelo_reportef.addColumn("<html><b>Prima Dom.</b></html>");//8
        jtable_modelo_reportef.addColumn("<html><b>Subtotal</b></html>");//9
        jtable_modelo_reportef.addColumn("<html><b>Sub sidio al Emp.</b></html>");//10
        jtable_modelo_reportef.addColumn("<html><b>Total Perce pcion</b></html>");//11
        jtable_modelo_reportef.addColumn("<html><b>ISR Sueldos</b></html>");//12
        jtable_modelo_reportef.addColumn("<html><b>IMSS</b></html>");//13
        jtable_modelo_reportef.addColumn("<html><b>Info navit</b></html>");//14
        jtable_modelo_reportef.addColumn("<html><b>Total De duc.</b></html>");//15
        jtable_modelo_reportef.addColumn("<html><b>Neto a Pagar.</b></html>");//16
    }
        private void iniciar_modelo_reportef2()
    {
        jtable_modelo_reportef=new javax.swing.table.DefaultTableModel();//Creo el modelo
        jtable_modelo_reportef.addColumn("<html><b>Nombre</b></html>"); //0
        jtable_modelo_reportef.addColumn("<html><b>Curp/Rfc</b></html>");//1
        jtable_modelo_reportef.addColumn("<html><b>Dura cion Jornada</b></html>"); //2
        jtable_modelo_reportef.addColumn("<html><b>F.Ing.Trab.</b></html>"); //3
        jtable_modelo_reportef.addColumn("<html><b>T. sala rio.</b></html>"); //4
        jtable_modelo_reportef.addColumn("<html><b>Dias</b></html>"); //5
        jtable_modelo_reportef.addColumn("<html><b>Sal. Base Cotizac</b></html>");//6
        jtable_modelo_reportef.addColumn("<html><b>Sal. Nom</b></html>");//6
        jtable_modelo_reportef.addColumn("<html><b>Sueldo</b></html>");//7
        jtable_modelo_reportef.addColumn("<html><b>Vales Des pensa.</b></html>");//8
        jtable_modelo_reportef.addColumn("<html><b>Prima Dom.</b></html>");//9
        jtable_modelo_reportef.addColumn("<html><b>Subtotal</b></html>");//10
        jtable_modelo_reportef.addColumn("<html><b>Sub sidio al Emp.</b></html>");//11
        jtable_modelo_reportef.addColumn("<html><b>Total Percep cion</b></html>");//12
        jtable_modelo_reportef.addColumn("<html><b>ISR Sueldos</b></html>");//13
        jtable_modelo_reportef.addColumn("<html><b>IMSS</b></html>");//14
        jtable_modelo_reportef.addColumn("<html><b>Info navit</b></html>");//15
        jtable_modelo_reportef.addColumn("<html><b>Total De duc.</b></html>");//16
        jtable_modelo_reportef.addColumn("<html><b>Neto a Pagar.</b></html>");//17

       
    }

  private void iniciar_modelo_reportenof1()
    {
        jtable_modelo_reportefn=new javax.swing.table.DefaultTableModel();//Creo el modelo
        jtable_modelo_reportefn.addColumn("<html><b>Nombre</b></html>"); //0
        jtable_modelo_reportefn.addColumn("<html><b>F.Ing.Trab.</b></html>"); //1
        jtable_modelo_reportefn.addColumn("<html><b>Sueldo</b></html>");//2
        jtable_modelo_reportefn.addColumn("<html><b>Hrs Extras</b></html>");//3
        jtable_modelo_reportefn.addColumn("<html><b>Bono Apoyo</b></html>");//4
        jtable_modelo_reportefn.addColumn("<html><b>Descanso Trab..</b></html>");//5
        jtable_modelo_reportefn.addColumn("<html><b>Dia Festivo</b></html>");//6
        jtable_modelo_reportefn.addColumn("<html><b>Prima Dom.</b></html>");//6
        jtable_modelo_reportefn.addColumn("<html><b>Total.</b></html>");//7
        jtable_modelo_reportefn.addColumn("<html><b>D.T.</b></html>");//7

    }

  private void iniciar_modelo_area()
    {
        jtable_modelo_patrones_areas=new javax.swing.table.DefaultTableModel();//Creo el modelo
        jtable_modelo_patrones_areas.addColumn("<html><b>Id</b></html>"); //0
        jtable_modelo_patrones_areas.addColumn("<html><b>Area</b></html>"); //1
    }
    


private void centrar_datos(){

alinearCentro = new DefaultTableCellRenderer();
alinearCentro.setHorizontalAlignment(SwingConstants.CENTER);

alinearderecha = new DefaultTableCellRenderer();
alinearderecha.setHorizontalAlignment(SwingConstants.RIGHT);
int numerocol = this.jtable_modelo_reportef.getColumnCount(),ii=0;

for( ii=0;ii<numerocol;ii++)
    {
    if (ii>5)
            {
                jt_detalleprenomina1.getColumnModel().getColumn(ii).setCellRenderer(alinearderecha);
            }

    }

}
private void centrar_datosnof(){

alinearCentro = new DefaultTableCellRenderer();
alinearCentro.setHorizontalAlignment(SwingConstants.CENTER);

alinearderecha = new DefaultTableCellRenderer();
alinearderecha.setHorizontalAlignment(SwingConstants.RIGHT);
int ii=0;

for( ii=0;ii<this.jtable_modelo_reportef.getColumnCount();ii++)
    {
    if (ii>1)
            {
                jt_detalleprenomina1.getColumnModel().getColumn(ii).setCellRenderer(alinearderecha);
            }

    }
for( ii=0;ii<this.jtable_modelo_reportefn.getColumnCount();ii++)
    {
    if (ii>1)
            {
                jt_detalleprenomina2.getColumnModel().getColumn(ii).setCellRenderer(alinearderecha);
            }

    }
}
private void carga_datos_empleado_x_patrondetalle1(int opcion,String textobusca,String textobusca2)
   {
       //invoco al metodo que trae el recordset de datos
       //voy por el detalle del documento
    int ii=0,numerofilas=0,encontrado=0,i=0;
    String epleadoactual="",empleadoactual="",texto="select * from x1_supervision_empleados_p_nomina_percepodeduc("+opcion+",'"+textobusca+"','"+textobusca2+"','0') as (idreg integer,iddetalle integer,idempleado integer,percepf numeric,deducf numeric,idtipo smallint,obser text,percepnof numeric,deducnof numeric,pagof numeric,pagonof numeric,pago numeric,iddep smallint,idpatron smallint,idpatnof smallint,nombre text,fechai date,fechaa date,rfc character varying (20),curp character varying (20),imss character varying (20),idtipoc smallint,sueldo1 numeric,sueldo2 numeric,sueldo3 numeric,sueldo4 numeric,ida smallint,area text);",ida="",idas="";
    DecimalFormat myFormat = new DecimalFormat("############.##");
     DecimalFormat myFormat2 = new DecimalFormat("############.##");
      Object[] fnewRow = new Object[this.jtable_modelo_reportef.getColumnCount()];
      System.out.println(texto);
       try
           {
            rs = x.sieuno_executediversosv2(texto,variables_global.getconexiongral());
            while (rs.next())
                {
                if(rs.getFloat("pagof")>0)
                    {
                                fnewRow[0]="<html>"+rs.getString("idempleado")+":"+rs.getString("nombre")+"<br>"+rs.getString("imss")+"</html>"; //nombre y afiliacion
                                fnewRow[1]="<html>"+rs.getString("curp")+"<br>"+rs.getString("rfc")+"</html>";;//crup y rfc
                                fnewRow[2]="8 Hrs"; //duracion
                                fnewRow[3]=this.fechaeuropea(rs.getString("fechaa"));//F. Ing. Traba
                                fnewRow[4]="Fijo";//t.salario
                                fnewRow[5]="0";//dias trabajados
                                fnewRow[6]=myFormat.format(rs.getFloat("sueldo2"));//salario base de cotizacion
                                fnewRow[7]=myFormat.format(rs.getFloat("sueldo3"));//sueldo base cotizacion
                                fnewRow[8]="0";//sueldo
                                fnewRow[9]="0";//premio puntualidad
                                fnewRow[10]="0";//premio Asistencia
                                fnewRow[11]="0";//vales de despensa
                                fnewRow[12]="0";//prima dominical
                                fnewRow[13]="0";//Hrs Extras
                                fnewRow[14]="0";//subtotal
                                fnewRow[15]="0";//subsidio empleado
                                fnewRow[16]=myFormat.format(rs.getFloat("percepf"));//total percepciones
                                fnewRow[17]="0";//isr sueldos
                                fnewRow[18]="0";//IMSS
                                fnewRow[19]="0";//Infonavit
                                fnewRow[20]="0";//Fonacot
                                fnewRow[21]=myFormat.format(rs.getFloat("deducf"));//Total deducciones
                                fnewRow[22]=myFormat2.format(rs.getFloat("pagof"));//Neto a pagar
                                fnewRow[23]="";//Firmas
                              jtable_modelo_reportef.addRow(fnewRow);
                              idas=rs.getString("ida");
                              encontrado=0;
                              for(i=0;i<this.jtable_modelo_patrones_areas.getRowCount();i++)
                                {
                                    ida = jtable_modelo_patrones_areas.getValueAt(i, 0).toString();
                                    if(idas.equals(ida))
                                        {
                                        encontrado=1;
                                        }
                                }
                              if(encontrado==0)
                                {
                                  this.jtable_modelo_patrones_areas.addRow(new Object[]{rs.getString("ida"),rs.getString("area")});
                                }
                }

                }
           }
        catch(Exception e)
            {
            System.out.println(e.getMessage());
            }

      jtable_modelo_reportef.addRow(new Object[]{});
    }

private void carga_datos_empleado_x_patrondetalle2(int opcion,String textobusca,String textobusca2,String textobusca3)
   {
       //invoco al metodo que trae el recordset de datos
       //voy por el detalle del documento
    while(jtable_modelo_reportef.getRowCount()>0)jtable_modelo_reportef.removeRow(0);
    int ii=0,numerofilas=0,encontrado=0,i=0;
    String epleadoactual="",empleadoactual="",texto="select * from x1_supervision_empleados_p_nomina_percepodeduc("+opcion+",'"+textobusca+"','"+textobusca2+"','"+textobusca3+"') as (idreg integer,iddetalle integer,idempleado integer,percepf numeric,deducf numeric,idtipo smallint,obser text,percepnof numeric,deducnof numeric,pagof numeric,pagonof numeric,pago numeric,iddep smallint,idpatron smallint,idpatnof smallint,nombre text,fechai date,fechaa date,rfc character varying (20),curp character varying (20),imss character varying (20),idtipoc smallint,sueldo1 numeric,sueldo2 numeric,sueldo3 numeric,sueldo4 numeric,ida smallint, area text);",ida="",idas="";;
    DecimalFormat myFormat = new DecimalFormat("############.##");
     DecimalFormat myFormat2 = new DecimalFormat("############.##");
      Object[] fnewRow = new Object[this.jtable_modelo_reportef.getColumnCount()];
      System.out.println(texto);
       try
           {
            rs = x.sieuno_executediversosv2(texto,variables_global.getconexiongral());
            while (rs.next())
                {
                     if(rs.getFloat("pagof")>0)
                        {
                                fnewRow[0]="<html>"+rs.getString("idempleado")+":"+rs.getString("nombre")+"<br>"+rs.getString("imss")+"</html>"; //nombre y afiliacion
                                fnewRow[1]="<html>"+rs.getString("curp")+"<br>"+rs.getString("rfc")+"</html>";;//crup y rfc
                                fnewRow[2]="8 Hrs"; //duracion
                                fnewRow[3]=this.fechaeuropea(rs.getString("fechaa"));//F. Ing. Traba
                                fnewRow[4]="Fijo";//t.salario
                                fnewRow[5]="0";//dias trabajados
                                fnewRow[6]=myFormat.format(rs.getFloat("sueldo2"));//salario base de cotizacion
                                fnewRow[7]=myFormat.format(rs.getFloat("sueldo3"));//sueldo
                                fnewRow[8]="0";//sueldo
                                fnewRow[9]="0";//Vales de Despensa
                                fnewRow[10]="0";//prima dominical
                                fnewRow[11]="0";//subtotal
                                fnewRow[12]="0";//subsidio empleado
                                fnewRow[13]=myFormat.format(rs.getFloat("percepf"));//total percepciones
                                fnewRow[14]="0";//isr sueldos
                                fnewRow[15]="0";//IMSS
                                fnewRow[16]="0";//Infonavit
                                fnewRow[17]=myFormat.format(rs.getFloat("deducf"));//Total deducciones
                                fnewRow[18]=myFormat2.format(rs.getFloat("pagof"));//Neto a pagar

                              jtable_modelo_reportef.addRow(fnewRow);
                              if(rs.getString("ida")!=null)
                                {
                                    idas=rs.getString("ida");
                                    encontrado=0;
                                    for(i=0;i<this.jtable_modelo_patrones_areas.getRowCount();i++)
                                        {
                                        ida = jtable_modelo_patrones_areas.getValueAt(i, 0).toString();
                                        if(idas.equals(ida))
                                            {
                                                encontrado=1;
                                            }
                                        }
                                      if(encontrado==0)
                                        {
                                          this.jtable_modelo_patrones_areas.addRow(new Object[]{rs.getString("ida"),rs.getString("area")});
                                        }
                                }
                              else
                              {
                                  this.jtable_modelo_patrones_areas.addRow(new Object[]{"null","No Asignados"});
                              }
                     }

                }
           }
        catch(Exception e)
            {
            System.out.println(e.getMessage());
            }
                                      fnewRow[0]=""; //nombre y afiliacion
                                fnewRow[1]=" ";//crup y rfc
                                fnewRow[2]=""; //duracion
                                fnewRow[3]="";//F. Ing. Traba
                                fnewRow[4]="";//t.salario
                                fnewRow[5]="";//dias trabajados
                                fnewRow[6]="";//salario base de cotizacion
                                fnewRow[7]="";//sueldo
                                fnewRow[8]="";//sueldo
                                fnewRow[9]="";//Vales de Despensa
                                fnewRow[10]="";//prima dominical
                                fnewRow[11]="";//subtotal
                                fnewRow[12]="";//subsidio empleado
                                fnewRow[13]="";//total percepciones
                                fnewRow[14]="";//isr sueldos
                                fnewRow[15]="";//IMSS
                                fnewRow[16]="";//Infonavit
                                fnewRow[17]="";//Total deducciones
                                fnewRow[18]="";//Neto a pagar

                              jtable_modelo_reportef.addRow(fnewRow);
    }


private void carga_datos_empleado_x_patrondetalle3(int opcion,String textobusca,String textobusca2)
   {
       //invoco al metodo que trae el recordset de datos
       //voy por el detalle del documento
    int ii=0,numerofilas=0,encontrado=0;
    String epleadoactual="",empleadoactual="",texto="select * from x1_supervision_empleados_p_nomina_percepodeduc("+opcion+",'"+textobusca+"','"+textobusca2+"','0') as (idreg integer,iddetalle integer,idempleado integer,percepf numeric,deducf numeric,idtipo smallint,obser text,percepnof numeric,deducnof numeric,pagof numeric,pagonof numeric,pago numeric,iddep smallint,idpatron smallint,idpatnof smallint,nombre text,fechai date,fechaa date,rfc character varying (20),curp character varying (20),imss character varying (20),idtipoc smallint,sueldo1 numeric,sueldo2 numeric,sueldo3 numeric,sueldo4 numeric);";
    DecimalFormat myFormat = new DecimalFormat("############.##");
     DecimalFormat myFormat2 = new DecimalFormat("############.##");
      Object[] fnewRow = new Object[this.jtable_modelo_reportef.getColumnCount()];
      System.out.println(texto);
       try
           {
            rs = x.sieuno_executediversosv2(texto,variables_global.getconexiongral());
            while (rs.next())
                {
                if(rs.getFloat("pagof")>0)
                        {
                                fnewRow[0]="<html>"+rs.getString("idempleado")+":"+rs.getString("nombre")+" "+rs.getString("imss")+"</html>"; //nombre y afiliacion
                                fnewRow[1]="<html>"+rs.getString("curp")+"<br>"+rs.getString("rfc")+"</html>";;//crup y rfc
                                fnewRow[2]="8 Hrs"; //duracion
                                fnewRow[3]=this.fechaeuropea(rs.getString("fechaa"));//F. Ing. Traba
                                fnewRow[4]="Fijo";//t.salario
                                fnewRow[5]="0";//dias trabajados
                                fnewRow[6]=myFormat.format(rs.getFloat("sueldo2"));//salario nominal
                                fnewRow[7]=myFormat.format(rs.getFloat("sueldo3"));//sueldo
                                fnewRow[8]="0";//sueldo
                                fnewRow[9]="0";//prima dominical
                                fnewRow[10]="0";//subtotal
                                fnewRow[11]="0";//subsidio empleado
                                fnewRow[12]=myFormat.format(rs.getFloat("percepf"));//total percepciones
                                fnewRow[13]="0";//isr sueldos
                                fnewRow[14]="0";//IMSS
                                fnewRow[15]="0";//Infonavit
                                fnewRow[16]=myFormat.format(rs.getFloat("deducf"));//Total deducciones
                                fnewRow[17]=myFormat2.format(rs.getFloat("pagof"));//Neto a pagar

                              jtable_modelo_reportef.addRow(fnewRow);
                }

                }
           }
        catch(Exception e)
            {
            System.out.println(e.getMessage());
            }
       jtable_modelo_reportef.addRow(new Object[]{});
    }

private void carga_datos_empleado_x_patrondetalle1nof(int opcion,String textobusca,String textobusca2,String busca3)
   {
       //invoco al metodo que trae el recordset de datos
       //voy por el detalle del documento
    int ii=0,numerofilas=0,encontrado=0,i=0;
    String epleadoactual="",empleadoactual="",texto="select * from x1_supervision_empleados_p_nomina_percepodeduc("+opcion+",'"+textobusca+"','"+textobusca2+"','"+busca3+"') as (idreg integer,iddetalle integer,idempleado integer,percepf numeric,deducf numeric,idtipo smallint,obser text,percepnof numeric,deducnof numeric,pagof numeric,pagonof numeric,pago numeric,iddep smallint,idpatron smallint,idpatnof smallint,nombre text,fechai date,fechaa date,rfc character varying (20),curp character varying (20),imss character varying (20),idtipoc smallint,sueldo1 numeric,sueldo2 numeric,sueldo3 numeric,sueldo4 numeric,idplaza smallint,dt numeric,ida smallint, area text);",ida="",idas="";
    DecimalFormat myFormat = new DecimalFormat("############.##");
     DecimalFormat myFormat2 = new DecimalFormat("############.##");

      while(jtable_modelo_reportefn.getRowCount()>0)jtable_modelo_reportefn.removeRow(0);

      Object[] fnewRow = new Object[10];
      System.out.println(texto);
       try
           {
            rs = x.sieuno_executediversosv2(texto,variables_global.getconexiongral());
            while (rs.next())
                {
                 if(rs.getFloat("pagonof")>0)
                    {
                                fnewRow[0]="<html>"+rs.getString("idempleado")+":"+rs.getString("nombre")+"</html>"; //nombre
                                fnewRow[1]=this.fechaeuropea(rs.getString("fechai"));//F. Ingreso
                                fnewRow[2]="0";//sueldo
                                fnewRow[3]="0";//Horas extras
                                fnewRow[4]="0";//Bono de Apoyo
                                fnewRow[5]="0";//Descanso trabajado
                                fnewRow[6]="0";//Dia Festivo
                                fnewRow[7]="0";//prima dom
                                fnewRow[8]=myFormat2.format(rs.getFloat("pagonof"));//Neto a pagar
                                fnewRow[9]=rs.getString("dt");//Neto a pagar
                              jtable_modelo_reportefn.addRow(fnewRow);
                                 idas=rs.getString("ida");
                              encontrado=0;
                              for(i=0;i<this.jtable_modelo_patrones_areas.getRowCount();i++)
                                {
                                    ida = jtable_modelo_patrones_areas.getValueAt(i, 0).toString();
                                    if(idas.equals(ida))
                                        {
                                        encontrado=1;
                                        }
                                }
                              if(encontrado==0)
                                {
                                  this.jtable_modelo_patrones_areas.addRow(new Object[]{rs.getString("ida"),rs.getString("area")});
                                }
                 }

                }
           }
        catch(Exception e)
            {
            System.out.println(e.getMessage());
            }
                                fnewRow[0]=""; //nombre
                                fnewRow[1]="";//F. Ingreso
                                fnewRow[2]="";//sueldo
                                fnewRow[3]="";//Horas extras
                                fnewRow[4]="";//Bono de Apoyo
                                fnewRow[5]="";//Descanso trabajado
                                fnewRow[6]="";//Dia Festivo
                                fnewRow[7]="";//prima dom
                                fnewRow[8]="";//Neto a pagar
                                fnewRow[9]="";//Neto a pagar
       jtable_modelo_reportefn.addRow(fnewRow);
    }


private void carga_datos_empleado_x_patron_movdet1(int opcion,String textobusca,String periodo)
   {
       //invoco al metodo que trae el recordset de datos
       //voy por el detalle del documento
       Object[] fnewRow = new Object[8];
       DecimalFormat myFormat = new DecimalFormat("############.##");
       String texto="select * from x1_supervision_empleados_p_nomina_percepodeduc("+opcion+",'"+textobusca+"','"+periodo+"','0') as (idreg integer,iddetalle integer,idperoded smallint,cantidad numeric,idempleado integer,salario numeric,factor numeric,importe numeric,iddep smallint);";
       System.out.println(texto);
       try
           {
            rs = x.sieuno_executediversosv2(texto,variables_global.getconexiongral());
            while (rs.next())
                {
                        switch (rs.getInt("idperoded")) {
                            case 1:
                                   this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("cantidad")),5);//dias trabajados
                                   this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),8);//sueldo
                            break;
                             case 15:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),9);//premio por puntualidad
                            break;
                             case 16:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),10);//premio por asistencia
                            break;
                             case 13:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),11);//vales de despensa
                            break;
                            case 2:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),12);//prima dominica
                            break;
                             case 3:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),13);//Horas Extras //subtotal
                            break;
                            case 4:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),15);//subsidio al empleado //total percepciones
                            break;
                           
                            case 5:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),17);//isr
                            break;
                             case 6:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),18);//imss
                            break;
                            case 7:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),19);//infonavit
                            break;


        }

                }
           }
        catch(Exception e)
            {
            System.out.println(e.getMessage());
            }
       this.calcular_totales1();
    }

   private void carga_datos_patron(String patron)
     {

           try
            {
                rs = x.sieuno_executediversosv2("select * from x1_supervision_empleados_patron(11,'"+patron+"','','','') as (idraz smallint,nombre character varying(60),direccion character varying(50),colonia character varying(50),poblacion character varying(40),cp character varying(6),rfc character varying(15),regpat text,obs text);",variables_global.getconexiongral());
               while (rs.next())
                    {
                     //jtable_modelo_patrones.addRow(new Object[]{rs.getString("idraz"),rs.getString("nombre"),rs.getString("rfc"),rs.getString("regpat"),rs.getString("obs"),"0","0","0"});
                   this.jlbl_patron.setText("Patron:"+rs.getString("nombre"));
                     this.jlbl_patrondir.setText("Direccion:"+rs.getString("direccion")+" "+rs.getString("colonia"));
                     this.jlbl_nrp.setText("N.R.P."+rs.getString("regpat"));
                     this.jlbl_rfc.setText("R.F.C:"+rs.getString("rfc"));
                    }
             }
            catch(Exception e)
            {
                System.out.println(e.getMessage());
            }

    }

private void carga_datos_empleado_x_patron_movdet2(int opcion,String textobusca,String periodo)
   {
       //invoco al metodo que trae el recordset de datos
       //voy por el detalle del documento
       Object[] fnewRow = new Object[8];
       DecimalFormat myFormat = new DecimalFormat("############.##");
       String texto="select * from x1_supervision_empleados_p_nomina_percepodeduc("+opcion+",'"+textobusca+"','"+periodo+"','0') as (idreg integer,iddetalle integer,idperoded smallint,cantidad numeric,idempleado integer,salario numeric,factor numeric,importe numeric,iddep smallint);";
       System.out.println(texto);
       try
           {
            rs = x.sieuno_executediversosv2(texto,variables_global.getconexiongral());
            while (rs.next())
                {
                        switch (rs.getInt("idperoded")) {
                            case 1:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("cantidad")),5);//dias trabajados
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),8);//sueldo

                            break;
                            case 13:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),9);//vales de despensa
                            break;
                            case 2:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),10); //prima dominical
                            break;

                            case 4:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),12);//subcidio al empleado //subtotal
                            break;
                            case 5:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),14); //isr
                            break;
                            case 6:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),15);//imss
                            break;
                            
                            case 7:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),16);//infonavit
                            break;


        }

                }
           }
        catch(Exception e)
            {
            System.out.println(e.getMessage());
            }
              this.calcular_totales2();
    }


private void carga_datos_empleado_x_patron_movdet3(int opcion,String textobusca,String periodo)
   {
       //invoco al metodo que trae el recordset de datos
       //voy por el detalle del documento
       Object[] fnewRow = new Object[8];
       DecimalFormat myFormat = new DecimalFormat("############.##");
       String texto="select * from x1_supervision_empleados_p_nomina_percepodeduc("+opcion+",'"+textobusca+"','"+periodo+"','0') as (idreg integer,iddetalle integer,idperoded smallint,cantidad numeric,idempleado integer,salario numeric,factor numeric,importe numeric,iddep smallint);";
       System.out.println(texto);
       try
           {
            rs = x.sieuno_executediversosv2(texto,variables_global.getconexiongral());
            while (rs.next())
                {
                        switch (rs.getInt("idperoded")) {
                            case 1:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("cantidad")),5);//dias trabajados
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),8);//sueldo

                            break;
                            case 2:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),9);//prima dominical
                            break;
                            case 4:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),11);//subsidio al empleado
                            break;
                              case 5:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),13);//isr
                            break;
                            case 6:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),14);//imss
                            break;
                          
                            case 7:
                                    this.crea_hojempleadosaprenomina(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),15);//infonavit
                            break;


        }

                }
           }
        catch(Exception e)
            {
            System.out.println(e.getMessage());
            }
              this.calcular_totales3();
    }


private void carga_datos_empleado_x_patron_movdetnof1(int opcion,String textobusca,String periodo)
   {
       //invoco al metodo que trae el recordset de datos
       //voy por el detalle del documento
       Object[] fnewRow = new Object[8];
       DecimalFormat myFormat = new DecimalFormat("############.##");
       String texto="select * from x1_supervision_empleados_p_nomina_percepodeduc("+opcion+",'"+textobusca+"','"+periodo+"','0') as (idreg integer,iddetalle integer,idperoded smallint,cantidad numeric,idempleado integer,salario numeric,factor numeric,importe numeric,iddep smallint);";
       System.out.println(texto);
       try
           {
            rs = x.sieuno_executediversosv2(texto,variables_global.getconexiongral());
            while (rs.next())
                {
                        switch (rs.getInt("idperoded")) {
                            case 8:
                                    this.crea_hojempleadosaprenominanof(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),2,rs.getInt("idperoded"));//sueldo

                            break;
                              case 9:
                                    this.crea_hojempleadosaprenominanof(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),3,rs.getInt("idperoded"));//bono de apoyo
                            break;
                            case 11:
                                    this.crea_hojempleadosaprenominanof(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),4,rs.getInt("idperoded"));//bono de apoyo
                            break;
                            case 10:
                                    this.crea_hojempleadosaprenominanof(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),5,rs.getInt("idperoded"));//descanso trabajado
                            break;
                            case 12:
                                    this.crea_hojempleadosaprenominanof(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),6,rs.getInt("idperoded"));//dia festivo
                            break;
                           case 14:
                                    this.crea_hojempleadosaprenominanof(rs.getString("idempleado"),myFormat.format(rs.getFloat("importe")),7,rs.getInt("idperoded"));//Prima dominical
                            break;


        }

                }
           }
        catch(Exception e)
            {
            System.out.println(e.getMessage());
            }
       this.calcular_totalesnof();
    }

private void crea_hojempleadosaprenomina(String idempleado,String importe,int columna)
    {
        int ii=0;
        String empleadoactual[]=null;

       //invoco al metodo que trae el recordset de datos
        for( ii=0;ii<this.jtable_modelo_reportef.getRowCount()-1;ii++)
                {
                    empleadoactual=jtable_modelo_reportef.getValueAt(ii, 0).toString().replace("<html>", "").split(":");
                     if (empleadoactual[0].equals(idempleado))
                        {
                            jtable_modelo_reportef.setValueAt(importe,ii ,columna);
                        }
                }

    }
private void crea_hojempleadosaprenominanof(String idempleado,String importe,int columna,int pod)
    {
        int ii=0;
        String empleadoactual[]=null;
          DecimalFormat myFormat = new DecimalFormat("############.##");
        float sueldo=0;
       //invoco al metodo que trae el recordset de datos
        for( ii=0;ii<this.jtable_modelo_reportefn.getRowCount()-1;ii++)
                {
                    empleadoactual=jtable_modelo_reportefn.getValueAt(ii, 0).toString().replace("<html>", "").split(":");
                     if (empleadoactual[0].equals(idempleado))
                        {
                            //if(pod==14)
                            //        {
                            //            sueldo=Float.valueOf(jtable_modelo_reportef.getValueAt(ii, 2).toString());
                            //            jtable_modelo_reportef.setValueAt(myFormat.format(Float.valueOf(importe)+sueldo),ii ,2);
                            //        }
                            //else
                            jtable_modelo_reportefn.setValueAt(importe,ii ,columna);
                        }
                }

    }
    private String  fechaeuropea(String fecha) {

         //resibe cadena de fecha en formato americano yyyy-MM-dd
        java.util.Date fechaestaeuropa=null;
       SimpleDateFormat formateadorestaeuropa = new SimpleDateFormat("dd-MM-yyyy");
       String cadenafecha="";
        try
         {
          fechaestaeuropa = formateadoresta.parse(fecha);
         }
        catch (ParseException e)
          {
             //Error, la cadena de texto no se puede convertir en fecha.
          }
       cadenafecha= formateadorestaeuropa.format(fechaestaeuropa);
       return cadenafecha;

    }

    private void loadcombo_patronclasif(String pat){

          this.jcmbx_idpatronclasif.addItem("0:GENERAL");
           try
            {
                rs = x.sieuno_executediversosv2("select * from x1_supervision_empleados_areas(1,'','','','') as (id smallint,nombre text);",variables_global.getconexiongral());
               while (rs.next())
                    {
                      this.jcmbx_idpatronclasif.addItem(rs.getString("id")+":"+rs.getString("nombre"));
                   }
             }
            catch(Exception e)
            {
                System.out.println(e.getMessage());
            }
    }
private void loadcombo_patron(String pat){
           try
            {
                 rs = x.sieuno_executediversosv2("select * from x1_supervision_empleados_patron(2,'','','','') as (idraz smallint,nombre character varying(60),rfc character varying(15),regpat text,obs text);",variables_global.getconexiongral());
               while (rs.next())
                    {
                        this.jcmbx_idpatronclasif1.addItem(rs.getString("idraz")+":"+rs.getString("nombre"));
                    }
             }
            catch(Exception e)
            {
                System.out.println(e.getMessage());
            }
    }
    private void calcular_totales1()
    {
        System.out.println("modifico y a calcular");
        DecimalFormat myFormat = new DecimalFormat("###,###,######.##");
        int numerofilas=0,error=0,i=0,pod=0,j=0;
        float factor=0,importe=0,cantidad=0,importef=0,importenof=0;
        for(i = 0 ;i < this.jtable_modelo_reportef.getRowCount()-1; i++)
                                {
                                    jtable_modelo_reportef.setValueAt(myFormat.format(Float.valueOf(this.jtable_modelo_reportef.getValueAt(i, 16).toString())-Float.valueOf(this.jtable_modelo_reportef.getValueAt(i, 15).toString())),i ,14);
                                }
        for(j = 8 ;j < 23; j++)
        {
            importef=0;
         for(i = 0 ;i < this.jtable_modelo_reportef.getRowCount()-1; i++)
                                {
                                    importef+=Float.valueOf(this.jtable_modelo_reportef.getValueAt(i, j).toString());
                                }
        jtable_modelo_reportef.setValueAt(myFormat.format(importef),this.jtable_modelo_reportef.getRowCount()-1 ,j);
        }

  }

    private void calcular_totales2()
    {
        System.out.println("modifico y a calcular");
        DecimalFormat myFormat = new DecimalFormat("###,###,######.##");
        int numerofilas=0,error=0,i=0,pod=0,j=0;
        float factor=0,importe=0,cantidad=0,importef=0,importenof=0;
        for(i = 0 ;i < this.jtable_modelo_reportef.getRowCount()-1; i++)
                                {
                                    jtable_modelo_reportef.setValueAt(myFormat.format(Float.valueOf(this.jtable_modelo_reportef.getValueAt(i, 13).toString())-Float.valueOf(this.jtable_modelo_reportef.getValueAt(i, 12).toString())),i ,11);
                                }
        for(j = 8 ;j < 19; j++)
        {
            importef=0;
         for(i = 0 ;i < this.jtable_modelo_reportef.getRowCount()-1; i++)
                                {
                                    importef+=Float.valueOf(this.jtable_modelo_reportef.getValueAt(i, j).toString());
                                }
        jtable_modelo_reportef.setValueAt(myFormat.format(importef),this.jtable_modelo_reportef.getRowCount()-1 ,j);
        }

  }
    private void calcular_totales3()
    {
        System.out.println("modifico y a calcular");
        DecimalFormat myFormat = new DecimalFormat("###,###,######.##");
        int numerofilas=0,error=0,i=0,pod=0,j=0;
        float factor=0,importe=0,cantidad=0,importef=0,importenof=0;
        for(i = 0 ;i < this.jtable_modelo_reportef.getRowCount()-1; i++)
                                {
                                    jtable_modelo_reportef.setValueAt(myFormat.format(Float.valueOf(this.jtable_modelo_reportef.getValueAt(i, 12).toString())-Float.valueOf(this.jtable_modelo_reportef.getValueAt(i, 11).toString())),i ,10);
                                }
        for(j = 8 ;j < 18; j++)
        {
            importef=0;
         for(i = 0 ;i < this.jtable_modelo_reportef.getRowCount()-1; i++)
                                {
                                    importef+=Float.valueOf(this.jtable_modelo_reportef.getValueAt(i, j).toString());
                                }
        jtable_modelo_reportef.setValueAt(myFormat.format(importef),this.jtable_modelo_reportef.getRowCount()-1 ,j);
        }

  }

        private void calcular_totalesnof()
    {
        System.out.println("modifico y a calcular");
        DecimalFormat myFormat = new DecimalFormat("###,###,######.##");
        int numerofilas=0,error=0,i=0,pod=0,j=0;
        float factor=0,importe=0,cantidad=0,importef=0,importenof=0;

        for(j = 2 ;j < 9; j++)
        {
            importef=0;
         for(i = 0 ;i < this.jtable_modelo_reportefn.getRowCount()-1; i++)
                                {
                                    importef+=Float.valueOf(this.jtable_modelo_reportefn.getValueAt(i, j).toString());
                                }
        jtable_modelo_reportefn.setValueAt(myFormat.format(importef),this.jtable_modelo_reportefn.getRowCount()-1 ,j);
        }

  }

    private void imprimir(int pag,float ptotal)
    {
            this.objimpresora=new supervision_rh_imprimir();
    String inter[]=this.jcmbx_interlineado.getSelectedItem().toString().split(":");
    this.objimpresora.setInterlineado(Integer.valueOf(inter[0]));
     this.objimpresora.setOneItem_cadenas_a_imprimir("       "+this.jlbl_patron.getText());
     this.objimpresora.setOneItem_cadenas_a_imprimir("       "+this.jlbl_patrondir.getText());
     this.objimpresora.setOneItem_cadenas_a_imprimir("       "+this.jlbl_rfc.getText());
     this.objimpresora.setOneItem_cadenas_a_imprimir("       "+this.jlbl_nrp.getText());
     this.objimpresora.setOneItem_cadenas_a_imprimir("       "+this.jlbl_periodo.getText()+"");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("Folio Tienda:"+this.tf_foliotienda.getText()+"");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("Status Documento:"+this.tf_status.getText()+"");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("Cliente o Tienda:"+this.tf_cliente.getText()+"");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("Observaciones:"+this.ta_observaciones.getText()+"");
     this.objimpresora.setOneItem_cadenas_a_imprimir("*");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("Total Piezas:"+this.jtf_totalpiezas.getText()+"");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("paginas:"+ pag + " de "+ptotal+"");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("Responsable Almacen: ______________");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("Empaco: ______________");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("Recibio: ______________");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("..");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("..");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("..");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("..");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("..");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("..");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("..");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("*");
     this.objimpresora.setObjeto_tabla(jt_detalleprenomina2);
     this.objimpresora.imprimir_all(1,pag);
    }
 private void imprimirf(int pag,float ptotal)
    {
            this.objimpresora=new supervision_rh_imprimir();
            this.objimpresora.setMargen(Integer.valueOf(this.jtf_margen.getText().toString()));
            String inter[]=this.jcmbx_interlineado.getSelectedItem().toString().split(":");
            this.objimpresora.setInterlineado(Integer.valueOf(inter[0]));
     this.objimpresora.setOneItem_cadenas_a_imprimir("                      "+this.jlbl_patron.getText());
     this.objimpresora.setOneItem_cadenas_a_imprimir("                      "+this.jlbl_patrondir.getText());
     this.objimpresora.setOneItem_cadenas_a_imprimir("                      "+this.jlbl_rfc.getText());
     this.objimpresora.setOneItem_cadenas_a_imprimir("                      "+this.jlbl_nrp.getText());
     this.objimpresora.setOneItem_cadenas_a_imprimir("                      "+this.jlbl_periodo.getText()+"");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("Folio Tienda:"+this.tf_foliotienda.getText()+"");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("Status Documento:"+this.tf_status.getText()+"");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("Cliente o Tienda:"+this.tf_cliente.getText()+"");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("Observaciones:"+this.ta_observaciones.getText()+"");
     this.objimpresora.setOneItem_cadenas_a_imprimir("*");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("Total Piezas:"+this.jtf_totalpiezas.getText()+"");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("paginas:"+ pag + " de "+ptotal+"");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("Responsable Almacen: ______________");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("Empaco: ______________");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("Recibio: ______________");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("..");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("..");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("..");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("..");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("..");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("..");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("..");
     //this.objimpresora.setOneItem_cadenas_a_imprimir("*");
     this.objimpresora.setObjeto_tabla(jt_detalleprenomina1);
     this.objimpresora.imprimir_all(2,pag);
    }

 private void dioclickarea(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
int fila = jt_catpatrones1.getSelectedRow();
    String idare=this.jtable_modelo_patrones_areas.getValueAt(fila, 1).toString();
            if(JOptionPane.showConfirmDialog(null, "<html><h2><b>Desea Aplicar Filtro para Area:<br>"+idare+"?</b></h2><html>")==0)
                {
                this.carga_datos_empleado_x_patrondetalle1nof(39, patrona, periodoa,this.jtable_modelo_patrones_areas.getValueAt(fila, 0).toString());
                this.carga_datos_empleado_x_patron_movdetnof1(6, patrona, periodoa);

                this.carga_datos_empleado_x_patrondetalle2(43, patrona, periodoa,this.jtable_modelo_patrones_areas.getValueAt(fila, 0).toString());
                this.carga_datos_empleado_x_patron_movdet2(6, patrona, periodoa);

                this.centrar_datosnof();
                }
    }


private void loadcombo_interlineado()
 {
            this.jcmbx_interlineado.addItem("1"+":"+"Doble");
            this.jcmbx_interlineado.addItem("0"+":"+"Sencillo");
            this.jcmbx_interlineado.addItem("2"+":"+"Triple");
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanel12 = new javax.swing.JPanel();
        jScrollPane15 = new javax.swing.JScrollPane();
        jt_detalleprenomina1 = new javax.swing.JTable()
        {
            public boolean isCellEditable(int rowIndex, int mColIndex) {

                return false;
            }
        }
        ;
        jlbl_periodo = new javax.swing.JLabel();
        jlbl_patron = new javax.swing.JLabel();
        jlbl_rfc = new javax.swing.JLabel();
        jlbl_nrp = new javax.swing.JLabel();
        jcmbx_idpatronclasif = new javax.swing.JComboBox();
        jlbl_patrondir = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jtf_margen = new javax.swing.JTextField();
        jLabel2 = new javax.swing.JLabel();
        jScrollPane16 = new javax.swing.JScrollPane();
        jt_detalleprenomina2 = new javax.swing.JTable()
        {
            public boolean isCellEditable(int rowIndex, int mColIndex) {

                return false;
            }
        }
        ;
        jLabel3 = new javax.swing.JLabel();
        jcmbx_idpatronclasif1 = new javax.swing.JComboBox();
        jcmbx_interlineado = new javax.swing.JComboBox();
        jLabel4 = new javax.swing.JLabel();
        jScrollPane19 = new javax.swing.JScrollPane();
        jt_catpatrones1 = new javax.swing.JTable()
        {
            public boolean isCellEditable(int rowIndex, int mColIndex) {
                return false;
            }
        }
        ;
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        jmni_salir = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();
        jmni_escape = new javax.swing.JMenuItem();
        jmni_aplicarfiltro = new javax.swing.JMenuItem();
        jmni_imprimir = new javax.swing.JMenuItem();
        jmni_actualizar = new javax.swing.JMenuItem();
        jMenuItem1 = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setName("Form"); // NOI18N

        jPanel12.setName("jPanel12"); // NOI18N

        jScrollPane15.setName("jScrollPane15"); // NOI18N

        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(sie_invdis.Sie_invdisApp.class).getContext().getResourceMap(supervision_rh_prenomina_print.class);
        jt_detalleprenomina1.setFont(resourceMap.getFont("jt_detalleprenomina1.font")); // NOI18N
        jt_detalleprenomina1.setModel(this.jtable_modelo_reportef);
        jt_detalleprenomina1.setName("jt_detalleprenomina1"); // NOI18N
        jt_detalleprenomina1.setRowHeight(30);
        jt_detalleprenomina1.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
            public void propertyChange(java.beans.PropertyChangeEvent evt) {
                jt_detalleprenomina1PropertyChange(evt);
            }
        });
        jScrollPane15.setViewportView(jt_detalleprenomina1);

        jlbl_periodo.setFont(resourceMap.getFont("jlbl_periodo.font")); // NOI18N
        jlbl_periodo.setText(resourceMap.getString("jlbl_periodo.text")); // NOI18N
        jlbl_periodo.setName("jlbl_periodo"); // NOI18N

        jlbl_patron.setFont(resourceMap.getFont("jlbl_patron.font")); // NOI18N
        jlbl_patron.setText(resourceMap.getString("jlbl_patron.text")); // NOI18N
        jlbl_patron.setName("jlbl_patron"); // NOI18N

        jlbl_rfc.setFont(resourceMap.getFont("jlbl_rfc.font")); // NOI18N
        jlbl_rfc.setText(resourceMap.getString("jlbl_rfc.text")); // NOI18N
        jlbl_rfc.setName("jlbl_rfc"); // NOI18N

        jlbl_nrp.setFont(resourceMap.getFont("jlbl_nrp.font")); // NOI18N
        jlbl_nrp.setText(resourceMap.getString("jlbl_nrp.text")); // NOI18N
        jlbl_nrp.setName("jlbl_nrp"); // NOI18N

        jcmbx_idpatronclasif.setName("jcmbx_idpatronclasif"); // NOI18N
        jcmbx_idpatronclasif.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jcmbx_idpatronclasifActionPerformed(evt);
            }
        });

        jlbl_patrondir.setFont(resourceMap.getFont("jlbl_patrondir.font")); // NOI18N
        jlbl_patrondir.setText(resourceMap.getString("jlbl_patrondir.text")); // NOI18N
        jlbl_patrondir.setName("jlbl_patrondir"); // NOI18N

        jButton1.setIcon(resourceMap.getIcon("jButton1.icon")); // NOI18N
        jButton1.setText(resourceMap.getString("jButton1.text")); // NOI18N
        jButton1.setName("jButton1"); // NOI18N
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton2.setIcon(resourceMap.getIcon("jButton2.icon")); // NOI18N
        jButton2.setText(resourceMap.getString("jButton2.text")); // NOI18N
        jButton2.setName("jButton2"); // NOI18N
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N
        jLabel1.setName("jLabel1"); // NOI18N

        jtf_margen.setText(resourceMap.getString("jtf_margen.text")); // NOI18N
        jtf_margen.setName("jtf_margen"); // NOI18N

        jLabel2.setText(resourceMap.getString("jLabel2.text")); // NOI18N
        jLabel2.setName("jLabel2"); // NOI18N

        jScrollPane16.setName("jScrollPane16"); // NOI18N

        jt_detalleprenomina2.setFont(resourceMap.getFont("jt_detalleprenomina2.font")); // NOI18N
        jt_detalleprenomina2.setModel(this.jtable_modelo_reportefn);
        jt_detalleprenomina2.setName("jt_detalleprenomina2"); // NOI18N
        jt_detalleprenomina2.setRowHeight(30);
        jt_detalleprenomina2.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
            public void propertyChange(java.beans.PropertyChangeEvent evt) {
                jt_detalleprenomina2PropertyChange(evt);
            }
        });
        jScrollPane16.setViewportView(jt_detalleprenomina2);

        jLabel3.setText(resourceMap.getString("jLabel3.text")); // NOI18N
        jLabel3.setName("jLabel3"); // NOI18N

        jcmbx_idpatronclasif1.setName("jcmbx_idpatronclasif1"); // NOI18N
        jcmbx_idpatronclasif1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jcmbx_idpatronclasif1ActionPerformed(evt);
            }
        });

        jcmbx_interlineado.setName("jcmbx_interlineado"); // NOI18N
        jcmbx_interlineado.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jcmbx_interlineadoActionPerformed(evt);
            }
        });

        jLabel4.setText(resourceMap.getString("jLabel4.text")); // NOI18N
        jLabel4.setName("jLabel4"); // NOI18N

        jScrollPane19.setName("jScrollPane19"); // NOI18N

        jt_catpatrones1.setModel(this.jtable_modelo_patrones_areas);
        jt_catpatrones1.setName("jt_catpatrones1"); // NOI18N
        jt_catpatrones1.setRowHeight(22);
        jt_catpatrones1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jt_catpatrones1MouseClicked(evt);
                if(evt.getClickCount() >= 1)
                {
                    dioclickarea(evt);
                }
            }
        });
        jScrollPane19.setViewportView(jt_catpatrones1);

        javax.swing.GroupLayout jPanel12Layout = new javax.swing.GroupLayout(jPanel12);
        jPanel12.setLayout(jPanel12Layout);
        jPanel12Layout.setHorizontalGroup(
            jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel12Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel12Layout.createSequentialGroup()
                        .addComponent(jlbl_patron, javax.swing.GroupLayout.DEFAULT_SIZE, 366, Short.MAX_VALUE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jlbl_patrondir, javax.swing.GroupLayout.PREFERRED_SIZE, 571, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(21, 21, 21))
                    .addGroup(jPanel12Layout.createSequentialGroup()
                        .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jlbl_periodo, javax.swing.GroupLayout.PREFERRED_SIZE, 502, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(jPanel12Layout.createSequentialGroup()
                                .addComponent(jlbl_nrp, javax.swing.GroupLayout.PREFERRED_SIZE, 249, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jlbl_rfc, javax.swing.GroupLayout.PREFERRED_SIZE, 198, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel12Layout.createSequentialGroup()
                                .addGap(13, 13, 13)
                                .addComponent(jLabel1))
                            .addComponent(jLabel3))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(jcmbx_idpatronclasif, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jcmbx_idpatronclasif1, javax.swing.GroupLayout.PREFERRED_SIZE, 208, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap())
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel12Layout.createSequentialGroup()
                .addContainerGap(795, Short.MAX_VALUE)
                .addComponent(jButton1)
                .addGap(82, 82, 82))
            .addComponent(jScrollPane15, javax.swing.GroupLayout.DEFAULT_SIZE, 974, Short.MAX_VALUE)
            .addGroup(jPanel12Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jtf_margen, javax.swing.GroupLayout.PREFERRED_SIZE, 54, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jcmbx_interlineado, 0, 166, Short.MAX_VALUE)
                .addGap(404, 404, 404)
                .addComponent(jButton2)
                .addGap(86, 86, 86))
            .addGroup(jPanel12Layout.createSequentialGroup()
                .addComponent(jScrollPane19, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane16, javax.swing.GroupLayout.DEFAULT_SIZE, 794, Short.MAX_VALUE))
        );
        jPanel12Layout.setVerticalGroup(
            jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel12Layout.createSequentialGroup()
                .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jlbl_patron)
                    .addComponent(jlbl_patrondir))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(jPanel12Layout.createSequentialGroup()
                        .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jlbl_nrp)
                            .addComponent(jlbl_rfc))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jlbl_periodo))
                    .addGroup(jPanel12Layout.createSequentialGroup()
                        .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jcmbx_idpatronclasif1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel3))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jcmbx_idpatronclasif, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel1))))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane15, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane19, javax.swing.GroupLayout.PREFERRED_SIZE, 173, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jScrollPane16, javax.swing.GroupLayout.DEFAULT_SIZE, 207, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(jButton2)
                    .addComponent(jcmbx_interlineado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jtf_margen, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel4))
                .addGap(11, 11, 11))
        );

        jMenuBar1.setName("jMenuBar1"); // NOI18N

        jMenu1.setText(resourceMap.getString("jMenu1.text")); // NOI18N
        jMenu1.setName("jMenu1"); // NOI18N

        jmni_salir.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.ALT_MASK));
        jmni_salir.setIcon(resourceMap.getIcon("jmni_salir.icon")); // NOI18N
        jmni_salir.setText(resourceMap.getString("jmni_salir.text")); // NOI18N
        jmni_salir.setName("jmni_salir"); // NOI18N
        jmni_salir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmni_salirActionPerformed(evt);
            }
        });
        jMenu1.add(jmni_salir);

        jMenuBar1.add(jMenu1);

        jMenu2.setText(resourceMap.getString("jMenu2.text")); // NOI18N
        jMenu2.setName("jMenu2"); // NOI18N

        jmni_escape.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0));
        jmni_escape.setText(resourceMap.getString("jmni_escape.text")); // NOI18N
        jmni_escape.setName("jmni_escape"); // NOI18N
        jmni_escape.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmni_escapeActionPerformed(evt);
            }
        });
        jMenu2.add(jmni_escape);

        jmni_aplicarfiltro.setText(resourceMap.getString("jmni_aplicarfiltro.text")); // NOI18N
        jmni_aplicarfiltro.setName("jmni_aplicarfiltro"); // NOI18N
        jmni_aplicarfiltro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmni_aplicarfiltroActionPerformed(evt);
            }
        });
        jMenu2.add(jmni_aplicarfiltro);

        jmni_imprimir.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_P, java.awt.event.InputEvent.CTRL_MASK));
        jmni_imprimir.setIcon(resourceMap.getIcon("jmni_imprimir.icon")); // NOI18N
        jmni_imprimir.setText(resourceMap.getString("jmni_imprimir.text")); // NOI18N
        jmni_imprimir.setName("jmni_imprimir"); // NOI18N
        jmni_imprimir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmni_imprimirActionPerformed(evt);
            }
        });
        jMenu2.add(jmni_imprimir);

        jmni_actualizar.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F5, 0));
        jmni_actualizar.setText(resourceMap.getString("jmni_actualizar.text")); // NOI18N
        jmni_actualizar.setName("jmni_actualizar"); // NOI18N
        jmni_actualizar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmni_actualizarActionPerformed(evt);
            }
        });
        jMenu2.add(jmni_actualizar);

        jMenuItem1.setText(resourceMap.getString("jMenuItem1.text")); // NOI18N
        jMenuItem1.setName("jMenuItem1"); // NOI18N
        jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem1ActionPerformed(evt);
            }
        });
        jMenu2.add(jMenuItem1);

        jMenuBar1.add(jMenu2);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel12, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel12, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jt_detalleprenomina1PropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_jt_detalleprenomina1PropertyChange
        // TODO add your handling code here:
}//GEN-LAST:event_jt_detalleprenomina1PropertyChange

    private void jmni_imprimirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmni_imprimirActionPerformed
        // TODO add your handling code here:
this.jcmbx_idpatronclasif.setVisible(false);
        try {
            PrinterJob job = PrinterJob.getPrinterJob();
            job.setPrintable(this);
            job.printDialog();
            job.print();
        } catch (PrinterException ex) { }
this.jcmbx_idpatronclasif.setVisible(true);

    }//GEN-LAST:event_jmni_imprimirActionPerformed

    private void jmni_salirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmni_salirActionPerformed
        // TODO add your handling code here:
           if(JOptionPane.showConfirmDialog(null, "Desea Salir?")==0)
              {
                  this.dispose();
              }
}//GEN-LAST:event_jmni_salirActionPerformed

    private void jmni_escapeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmni_escapeActionPerformed
        // TODO add your handling code here:
        this.jmni_salirActionPerformed(evt);
    }//GEN-LAST:event_jmni_escapeActionPerformed

    private void jmni_aplicarfiltroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmni_aplicarfiltroActionPerformed
        // TODO add your handling code here:
        String arreglo_pa[]=this.jcmbx_idpatronclasif.getSelectedItem().toString().split(":");
      if(JOptionPane.showConfirmDialog(null, "<html><h2><b>Desea Aplicar Filtro para Area:<br>"+arreglo_pa[1]+"?</b></h2><html>")==0)
            {
                this.carga_datos_empleado_x_patrondetalle1nof(39, patrona, periodoa,arreglo_pa[0]);
                this.carga_datos_empleado_x_patron_movdetnof1(6, patrona, periodoa);

                this.carga_datos_empleado_x_patrondetalle2(43, patrona, periodoa,arreglo_pa[0]);
                this.carga_datos_empleado_x_patron_movdet2(6, patrona, periodoa);

                this.centrar_datosnof();
            }
    }//GEN-LAST:event_jmni_aplicarfiltroActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        // TODO add your handling code here:
        float filas = this.jtable_modelo_reportef.getRowCount() ;
        float paginas = filas /25;
        int ni=0;
        for(ni=0;ni<paginas;ni++)
             {
                 this.imprimirf(ni,paginas);
             }

    }//GEN-LAST:event_jButton1ActionPerformed

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
        // TODO add your handling code here:
        float filas = this.jtable_modelo_reportef.getRowCount() ;
        float paginas = filas /25;
        int ni=0;
        for(ni=0;ni<paginas;ni++)
             {
                 this.imprimir(ni,paginas);
             }

    }//GEN-LAST:event_jButton2ActionPerformed

    private void jcmbx_idpatronclasifActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jcmbx_idpatronclasifActionPerformed
        // TODO add your handling code here:
        if(comboa>0)
            {

                String arreglo_pa[]=this.jcmbx_idpatronclasif.getSelectedItem().toString().split(":");
            if(JOptionPane.showConfirmDialog(null, "<html><h2><b>Desea Aplicar Filtro para Area:<br>"+arreglo_pa[1]+"?</b></h2><html>")==0)
                {
                this.carga_datos_empleado_x_patrondetalle1nof(39, patrona, periodoa,arreglo_pa[0]);
                this.carga_datos_empleado_x_patron_movdetnof1(6, patrona, periodoa);

                this.carga_datos_empleado_x_patrondetalle2(43, patrona, periodoa,arreglo_pa[0]);
                this.carga_datos_empleado_x_patron_movdet2(6, patrona, periodoa);

                this.centrar_datosnof();
                }
            }
    }//GEN-LAST:event_jcmbx_idpatronclasifActionPerformed

    private void jmni_actualizarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmni_actualizarActionPerformed
        // TODO add your handling code here:

            this.carga_datos_empleado_x_patrondetalle1nof(39, patrona, periodoa,"0");
            this.carga_datos_empleado_x_patron_movdetnof1(6, patrona, periodoa);
           
            this.carga_datos_empleado_x_patrondetalle2(43, patrona, periodoa,"0");
            this.carga_datos_empleado_x_patron_movdet2(6, patrona, periodoa);

            this.centrar_datosnof();
    }//GEN-LAST:event_jmni_actualizarActionPerformed

    private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
        // TODO add your handling code here:
              String arreglo_pa[]=this.jcmbx_idpatronclasif.getSelectedItem().toString().split(":");
      
            this.carga_datos_empleado_x_patrondetalle1nof(40, patrona, periodoa,arreglo_pa[0]);
            this.carga_datos_empleado_x_patron_movdetnof1(6, patrona, periodoa);
            this.centrar_datosnof();

            this.carga_datos_empleado_x_patrondetalle2(37, patrona, periodoa,arreglo_pa[0]);
            this.carga_datos_empleado_x_patron_movdet2(6, patrona, periodoa);
            
    }//GEN-LAST:event_jMenuItem1ActionPerformed

    private void jt_detalleprenomina2PropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_jt_detalleprenomina2PropertyChange
        // TODO add your handling code here:
    }//GEN-LAST:event_jt_detalleprenomina2PropertyChange

    private void jcmbx_idpatronclasif1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jcmbx_idpatronclasif1ActionPerformed
        // TODO add your handling code here:
         if(comboa>0)
            {

                String arreglo_pa[]=this.jcmbx_idpatronclasif1.getSelectedItem().toString().split(":");
            if(JOptionPane.showConfirmDialog(null, "<html><h2><b>Desea ver Patron:<br>"+arreglo_pa[1]+"?</b></h2><html>")==0)
                {
                    while(jtable_modelo_patrones_areas.getRowCount()>0)jtable_modelo_patrones_areas.removeRow(0);
                    patrona=arreglo_pa[0];
                    this.jlbl_patron.setText(arreglo_pa[1]);
                    
                    this.carga_datos_patron(patrona);
                    this.carga_datos_empleado_x_patrondetalle1nof(39, patrona, periodoa,"0");
                    this.carga_datos_empleado_x_patron_movdetnof1(6, patrona, periodoa);

                    this.carga_datos_empleado_x_patrondetalle2(43, patrona, periodoa,"0");
                    this.carga_datos_empleado_x_patron_movdet2(6, patrona, periodoa);

                    this.centrar_datosnof();
                }
         }
    }//GEN-LAST:event_jcmbx_idpatronclasif1ActionPerformed

    private void jcmbx_interlineadoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jcmbx_interlineadoActionPerformed
        // TODO add your handling code here:
        //  this.jbtn_guardacambios.requestFocus();
}//GEN-LAST:event_jcmbx_interlineadoActionPerformed
      private void jt_catpatrones1MouseClicked(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
    }
    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new supervision_rh_prenomina_print().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JPanel jPanel12;
    private javax.swing.JScrollPane jScrollPane15;
    private javax.swing.JScrollPane jScrollPane16;
    private javax.swing.JScrollPane jScrollPane19;
    private javax.swing.JComboBox jcmbx_idpatronclasif;
    private javax.swing.JComboBox jcmbx_idpatronclasif1;
    private javax.swing.JComboBox jcmbx_interlineado;
    private javax.swing.JLabel jlbl_nrp;
    private javax.swing.JLabel jlbl_patron;
    private javax.swing.JLabel jlbl_patrondir;
    private javax.swing.JLabel jlbl_periodo;
    private javax.swing.JLabel jlbl_rfc;
    private javax.swing.JMenuItem jmni_actualizar;
    private javax.swing.JMenuItem jmni_aplicarfiltro;
    private javax.swing.JMenuItem jmni_escape;
    private javax.swing.JMenuItem jmni_imprimir;
    private javax.swing.JMenuItem jmni_salir;
    private javax.swing.JTable jt_catpatrones1;
    private javax.swing.JTable jt_detalleprenomina1;
    private javax.swing.JTable jt_detalleprenomina2;
    private javax.swing.JTextField jtf_margen;
    // End of variables declaration//GEN-END:variables
  public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {
        if (pageIndex > 0) return NO_SUCH_PAGE;
        Graphics2D g2d = (Graphics2D)graphics;
        //Punto donde empezará a imprimir dentro la pagina (100, 50)
        g2d.translate(pageFormat.getImageableX()+10,
                        pageFormat.getImageableY()+20);
        g2d.scale(0.55,0.55); //Reducción de la impresión al 50%
        jPanel12.printAll(graphics);
        return PAGE_EXISTS;
    }
private supervision_rh_imprimir objimpresora;
}
